package com.bsoft.gol.hcs.specialist.entity;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;

/**
 * 治疗记录表实体类
 * @author lanyu
 * @date 2021年10月14日 9:30
 */
@Entity
@Table(name = "treatment_record")
public class TreatmentRecordEntity {
    /**
     * 治疗记录id
     */
    private String treatmentRecordId;
    /**
     * 业务系统患者档案id
     */
    private String sourcePatientId;
    /**
     * 患者姓名
     */
    private String name;
    /**
     * 身份证件号码
     */
    private String idCard;
    /**
     * 患者性别代码
     */
    private String sex;
    /**
     * 就诊流水号
     */
    private String visitId;
    /**
     * 患者类型代码
     */
    private String patientType;
    /**
     * 业务类型代码 1门诊、2住院
     */
    private String businessType;
    /**
     * 业务记录号
     */
    private String businessId;
    /**
     * 门（急）诊号
     */
    private String clinicId;
    /**
     * 住院号
     */
    private String hospizationId;
    /**
     * 年龄
     */
    private String age;
    /**
     * 治疗项目编码
     */
    private String treatmentItemCode;
    /**
     * 治疗项目名称
     */
    private String treatmentItemName;
    /**
     * 治疗项目单位
     */
    private String treatmentItemUnit;
    /**
     * 治疗项目数量
     */
    private Integer treatmentItemNumber;
    /**
     * 治疗疗程
     */
    private Integer treatmentCourse;
    /**
     * 治疗间隔 默认天
     */
    private Integer treatmentInterval;
    /**
     *执行科室代码
     */
    private String executeDepartmentId;
    /**
     * 执行科室名称
     */
    private String executeDepartmentName;
    /**
     * 申请时间
     */
    private Date requestDatetime;
    /**
     * 申请医生代码
     */
    private String requestDoctorDisplayName;
    /**
     * 申请医生名称
     */
    private String requestDoctorName;
    /**
     * 申请单编号
     */
    private String requestId;
    /**
     * 报告机构编号
     */
    private String reportId;
    /**
     * 报告机构
     */
    private String reportOrganization;
    /**
     * 报告机构名称
     */
    private String reportOrganizationName;
    /**
     * 治疗小结
     */
    private String treatmentSummary;
    /**
     * 治疗备注
     */
    private String treatmentRemark;
    /**
     * 检查时间
     */
    private Date executeDatetime;
    /**
     * 报告医生代码
     */
    private String reportDoctorCode;
    /**
     * 报告医生名称
     */
    private String reportDoctorName;
    /**
     * 报告时间
     */
    private Date reportDatetime;
    /**
     * 审核医生代码
     */
    private String reviewDoctorCode;
    /**
     * 审核医生名称
     */
    private String reviewDoctor;
    /**
     * 审核时间
     */
    private Date reviewDatetime;

    /**
     * 删除标志
     */
    private String deleteFlag;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 修改时间
     */
    private Date modifyTime;


    @Id
    @Column(name = "treatment_record_id")
    public String getTreatmentRecordId() {
        return treatmentRecordId;
    }

    public void setTreatmentRecordId(String treatmentRecordId) {
        this.treatmentRecordId = treatmentRecordId;
    }

    @Basic
    @Column(name = "source_patient_id")
    public String getSourcePatientId() {
        return sourcePatientId;
    }

    public void setSourcePatientId(String sourcePatientId) {
        this.sourcePatientId = sourcePatientId;
    }

    @Basic
    @Column(name = "name")
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Basic
    @Column(name = "id_card")
    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    @Basic
    @Column(name = "sex")
    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    @Basic
    @Column(name = "visit_id")
    public String getVisitId() {
        return visitId;
    }

    public void setVisitId(String visitId) {
        this.visitId = visitId;
    }

    @Basic
    @Column(name = "patient_type")
    public String getPatientType() {
        return patientType;
    }

    public void setPatientType(String patientType) {
        this.patientType = patientType;
    }

    @Basic
    @Column(name = "business_type")
    public String getBusinessType() {
        return businessType;
    }

    public void setBusinessType(String businessType) {
        this.businessType = businessType;
    }

    @Basic
    @Column(name = "business_id")
    public String getBusinessId() {
        return businessId;
    }

    public void setBusinessId(String businessId) {
        this.businessId = businessId;
    }

    @Basic
    @Column(name = "clinic_id")
    public String getClinicId() {
        return clinicId;
    }

    public void setClinicId(String clinicId) {
        this.clinicId = clinicId;
    }

    @Basic
    @Column(name = "hospization_id")
    public String getHospizationId() {
        return hospizationId;
    }

    public void setHospizationId(String hospizationId) {
        this.hospizationId = hospizationId;
    }

    @Basic
    @Column(name = "age")
    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    @Basic
    @Column(name = "treatment_item_code")
    public String getTreatmentItemCode() {
        return treatmentItemCode;
    }

    public void setTreatmentItemCode(String treatmentItemCode) {
        this.treatmentItemCode = treatmentItemCode;
    }

    @Basic
    @Column(name = "treatment_item_name")
    public String getTreatmentItemName() {
        return treatmentItemName;
    }

    public void setTreatmentItemName(String treatmentItemName) {
        this.treatmentItemName = treatmentItemName;
    }

    @Basic
    @Column(name = "treatment_item_unit")
    public String getTreatmentItemUnit() {
        return treatmentItemUnit;
    }

    public void setTreatmentItemUnit(String treatmentItemUnit) {
        this.treatmentItemUnit = treatmentItemUnit;
    }

    @Basic
    @Column(name = "treatment_item_number")
    public Integer getTreatmentItemNumber() {
        return treatmentItemNumber;
    }

    public void setTreatmentItemNumber(Integer treatmentItemNumber) {
        this.treatmentItemNumber = treatmentItemNumber;
    }

    @Basic
    @Column(name = "treatment_course")
    public Integer getTreatmentCourse() {
        return treatmentCourse;
    }

    public void setTreatmentCourse(Integer treatmentCourse) {
        this.treatmentCourse = treatmentCourse;
    }

    @Basic
    @Column(name = "treatment_interval")
    public Integer getTreatmentInterval() {
        return treatmentInterval;
    }

    public void setTreatmentInterval(Integer treatmentInterval) {
        this.treatmentInterval = treatmentInterval;
    }

    @Basic
    @Column(name = "execute_department_id")
    public String getExecuteDepartmentId() {
        return executeDepartmentId;
    }

    public void setExecuteDepartmentId(String executeDepartmentId) {
        this.executeDepartmentId = executeDepartmentId;
    }

    @Basic
    @Column(name = "execute_department_name")
    public String getExecuteDepartmentName() {
        return executeDepartmentName;
    }

    public void setExecuteDepartmentName(String executeDepartmentName) {
        this.executeDepartmentName = executeDepartmentName;
    }

    @Basic
    @Column(name = "request_datetime")
    public Date getRequestDatetime() {
        return requestDatetime;
    }

    public void setRequestDatetime(Date requestDatetime) {
        this.requestDatetime = requestDatetime;
    }

    @Basic
    @Column(name = "request_doctor_display_name")
    public String getRequestDoctorDisplayName() {
        return requestDoctorDisplayName;
    }

    public void setRequestDoctorDisplayName(String requestDoctorDisplayName) {
        this.requestDoctorDisplayName = requestDoctorDisplayName;
    }

    @Basic
    @Column(name = "request_doctor_name")
    public String getRequestDoctorName() {
        return requestDoctorName;
    }

    public void setRequestDoctorName(String requestDoctorName) {
        this.requestDoctorName = requestDoctorName;
    }

    @Basic
    @Column(name = "request_id")
    public String getRequestId() {
        return requestId;
    }

    public void setRequestId(String requestId) {
        this.requestId = requestId;
    }

    @Basic
    @Column(name = "report_id")
    public String getReportId() {
        return reportId;
    }

    public void setReportId(String reportId) {
        this.reportId = reportId;
    }

    @Basic
    @Column(name = "report_organization")
    public String getReportOrganization() {
        return reportOrganization;
    }

    public void setReportOrganization(String reportOrganization) {
        this.reportOrganization = reportOrganization;
    }

    @Basic
    @Column(name = "report_organization_name")
    public String getReportOrganizationName() {
        return reportOrganizationName;
    }

    public void setReportOrganizationName(String reportOrganizationName) {
        this.reportOrganizationName = reportOrganizationName;
    }

    @Basic
    @Column(name = "treatment_summary")
    public String getTreatmentSummary() {
        return treatmentSummary;
    }

    public void setTreatmentSummary(String treatmentSummary) {
        this.treatmentSummary = treatmentSummary;
    }

    @Basic
    @Column(name = "treatment_remark")
    public String getTreatmentRemark() {
        return treatmentRemark;
    }

    public void setTreatmentRemark(String treatmentRemark) {
        this.treatmentRemark = treatmentRemark;
    }

    @Basic
    @Column(name = "execute_datetime")
    public Date getExecuteDatetime() {
        return executeDatetime;
    }

    public void setExecuteDatetime(Date executeDatetime) {
        this.executeDatetime = executeDatetime;
    }

    @Basic
    @Column(name = "report_doctor_code")
    public String getReportDoctorCode() {
        return reportDoctorCode;
    }

    public void setReportDoctorCode(String reportDoctorCode) {
        this.reportDoctorCode = reportDoctorCode;
    }

    @Basic
    @Column(name = "report_doctor_name")
    public String getReportDoctorName() {
        return reportDoctorName;
    }

    public void setReportDoctorName(String reportDoctorName) {
        this.reportDoctorName = reportDoctorName;
    }

    @Basic
    @Column(name = "report_datetime")
    public Date getReportDatetime() {
        return reportDatetime;
    }

    public void setReportDatetime(Date reportDatetime) {
        this.reportDatetime = reportDatetime;
    }

    @Basic
    @Column(name = "review_doctor_code")
    public String getReviewDoctorCode() {
        return reviewDoctorCode;
    }

    public void setReviewDoctorCode(String reviewDoctorCode) {
        this.reviewDoctorCode = reviewDoctorCode;
    }

    @Basic
    @Column(name = "review_doctor")
    public String getReviewDoctor() {
        return reviewDoctor;
    }

    public void setReviewDoctor(String reviewDoctor) {
        this.reviewDoctor = reviewDoctor;
    }

    @Basic
    @Column(name = "review_datetime")
    public Date getReviewDatetime() {
        return reviewDatetime;
    }

    public void setReviewDatetime(Date reviewDatetime) {
        this.reviewDatetime = reviewDatetime;
    }

    @Basic
    @Column(name = "delete_flag")
    public String getDeleteFlag() {
        return deleteFlag;
    }

    public void setDeleteFlag(String deleteFlag) {
        this.deleteFlag = deleteFlag;
    }

    @Basic
    @Column(name = "create_time")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "modify_time")
    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }
        TreatmentRecordEntity that = (TreatmentRecordEntity) o;
        return Objects.equals(treatmentRecordId, that.treatmentRecordId) && Objects.equals(sourcePatientId, that.sourcePatientId) && Objects.equals(name, that.name) && Objects.equals(idCard, that.idCard) && Objects.equals(sex, that.sex) && Objects.equals(visitId, that.visitId) && Objects.equals(patientType, that.patientType) && Objects.equals(businessType, that.businessType) && Objects.equals(businessId, that.businessId) && Objects.equals(clinicId, that.clinicId) && Objects.equals(hospizationId, that.hospizationId) && Objects.equals(age, that.age) && Objects.equals(treatmentItemCode, that.treatmentItemCode) && Objects.equals(treatmentItemName, that.treatmentItemName) && Objects.equals(treatmentItemUnit, that.treatmentItemUnit) && Objects.equals(treatmentItemNumber, that.treatmentItemNumber) && Objects.equals(treatmentCourse, that.treatmentCourse) && Objects.equals(treatmentInterval, that.treatmentInterval) && Objects.equals(executeDepartmentId, that.executeDepartmentId) && Objects.equals(executeDepartmentName, that.executeDepartmentName) && Objects.equals(requestDatetime, that.requestDatetime) && Objects.equals(requestDoctorDisplayName, that.requestDoctorDisplayName) && Objects.equals(requestDoctorName, that.requestDoctorName) && Objects.equals(requestId, that.requestId) && Objects.equals(reportId, that.reportId) && Objects.equals(reportOrganization, that.reportOrganization) && Objects.equals(reportOrganizationName, that.reportOrganizationName) && Objects.equals(treatmentSummary, that.treatmentSummary) && Objects.equals(treatmentRemark, that.treatmentRemark) && Objects.equals(executeDatetime, that.executeDatetime) && Objects.equals(reportDoctorCode, that.reportDoctorCode) && Objects.equals(reportDoctorName, that.reportDoctorName) && Objects.equals(reportDatetime, that.reportDatetime) && Objects.equals(reviewDoctorCode, that.reviewDoctorCode) && Objects.equals(reviewDoctor, that.reviewDoctor) && Objects.equals(reviewDatetime, that.reviewDatetime) && Objects.equals(createTime, that.createTime) && Objects.equals(modifyTime, that.modifyTime);
    }

    @Override
    public int hashCode() {
        return Objects.hash(treatmentRecordId, sourcePatientId, name, idCard, sex, visitId, patientType, businessType, businessId, clinicId, hospizationId, age, treatmentItemCode, treatmentItemName, treatmentItemUnit, treatmentItemNumber, treatmentCourse, treatmentInterval, executeDepartmentId, executeDepartmentName, requestDatetime, requestDoctorDisplayName, requestDoctorName, requestId, reportId, reportOrganization, reportOrganizationName, treatmentSummary, treatmentRemark, executeDatetime, reportDoctorCode, reportDoctorName, reportDatetime, reviewDoctorCode, reviewDoctor, reviewDatetime, createTime, modifyTime);
    }
}
